web服务的脆弱性包括哪些方面
web服务的脆弱性包括以下方面:
Web客户端的脆弱性:Web客户端,即浏览器,是Web应用体系中重要的一环,它负责将网站返回的页面展现给浏览器用户,并将用户输入的数据传输给服务器。Web客户端,即浏览器,是Web应用体系中重要的一环,它负责将网站返回的页面展现给浏览器用户,并将用户输入的数据传输给服务器。
Web服务器的脆弱性:Web应用程序在Web服务器上运行。Web服务器的安全直接影响到服务器主机和Web应用程序的安全。流行的IIS服务器、Apache服务器和Tomcat服务器均被曝出过很多严重的安全漏洞。攻击者通过这些漏洞,不仅可以对目标主机发起拒绝服务攻击,严重的还能获得目标系统的管理员权限和数据库访问权限,从而窃取大量有用信息。
Web应用程序的脆弱性:Web应用程序是用户编写的网络应用程序,同样可能存在安全漏洞。网站攻击事件中有很大一部分是由Web应用程序的安全漏洞引起的。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员越来越多。但是很多程序员在编写代码时,并没有考虑安全因素,因此开发出来的应用程序往往存在安全隐患。此外,Web应用编程语言的种类多、灵活性高,一般程序员不易深入理解和正确利用,导致使用这些语言时不规范,留下了安全漏洞。例如,常见的SQL注入攻击就是利用Web应用程序检查不严,从而获取Web应用的后台数据库内容。
HTTP协议的脆弱性:HTTP协议是一种简单的、无状态的应用层协议(RFC 1945、RFC 2616)。它利用TCP协议作为传输协议,可运行在任何未使用的TCP端口上。一般情况下,它运行于TCP的80端口之上。“无状态”是指协议本身并没有会话状态,不会保留任何会话信息。如果用户请求了一个资源并收到了一个合法的响应,然后再请求另一个资源,服务器会认为这两次请求是完全独立的。虽然无状态性使得HTTP协议简单高效,但是HTTP协议的无状态性也会被攻击者利用。攻击者不需要计划多个阶段的攻击来模拟一个会话保持机制(利用有状态的TCP协议进行攻击时则需要模拟会话),这使得攻击变得简单易行一个简单的HTTP请求就能够攻击Web服务器或应用程序。
Cookie的脆弱性:Cookie中的内容大多数经过了编码处理,因此在人们看来只是一些毫无意义的字母数字组合,一般只有服务器的CGI处理程序才知道它们的真正含义。通过一些软件,如Cookie Pal软件,可以查看到更多的信息,如Server、Expires、Name和Value等选项的内容。由于Cookie中包含了一些敏感信息,如用户名、计算机名、使用的浏览器和曾经访问的网站等,攻击者可以利用它来进行窃密和欺骗攻击。
数据库的安全脆弱性:大量的Web应用程序在后台使用数据库来保存数据。数据库的应用使得Web从静态的HTML页面发展到动态的、广泛用于信息检索和电子商务的媒介,网站根据用户的请求动态生成页面,然后发送给客户端,而这些动态数据主要保存在数据库中。由于网站后台数据库中保存了大量的应用数据,因此它常常成为攻击者的目标。最常见的网站数据库攻击手段就是SQL注入攻击。